<?php
// 显示所有错误
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

// 加载数据库配置
require_once __DIR__ . '/../config/database.php';

$results = [];
$success = true;

try {
    // 创建PDO连接
    $dsn = "mysql:host=".DB_HOST.";dbname=".DB_NAME.";charset=".DB_CHARSET;
    $pdo = new PDO($dsn, DB_USERNAME, DB_PASSWORD);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    $results[] = "成功连接到数据库 " . DB_NAME;
    
    // 获取当前表列表
    $tables = [];
    $stmt = $pdo->query("SHOW TABLES LIKE '".DB_PREFIX."%'");
    while ($row = $stmt->fetch(PDO::FETCH_NUM)) {
        $tables[] = $row[0];
    }
    
    $results[] = "发现 " . count($tables) . " 个数据表";
    
    // 设置外键检查为0，允许删除
    $pdo->exec("SET FOREIGN_KEY_CHECKS = 0");
    $results[] = "已禁用外键检查";
    
    // 删除所有相关表
    foreach ($tables as $table) {
        $pdo->exec("DROP TABLE IF EXISTS `$table`");
        $results[] = "已删除表 $table";
    }
    
    // 重新启用外键检查
    $pdo->exec("SET FOREIGN_KEY_CHECKS = 1");
    $results[] = "已重新启用外键检查";
    
    $results[] = "<strong>数据库清理完成！</strong> 现在您可以运行 setup_tables.php 创建新表结构。";
    
} catch (PDOException $e) {
    $success = false;
    $results[] = "<strong>错误：</strong> " . $e->getMessage();
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>KidsMind - 数据库清理工具</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css">
</head>
<body>
    <div class="container mt-5">
        <div class="row justify-content-center">
            <div class="col-md-8">
                <div class="card shadow">
                    <div class="card-header bg-danger text-white">
                        <h4 class="mb-0">KidsMind 数据库清理工具</h4>
                    </div>
                    <div class="card-body">
                        <h5 class="card-title mb-4">清理结果</h5>
                        
                        <?php foreach ($results as $result): ?>
                            <div class="alert alert-info"><?php echo $result; ?></div>
                        <?php endforeach; ?>
                        
                        <div class="alert <?php echo $success ? 'alert-success' : 'alert-danger'; ?>">
                            <?php if ($success): ?>
                                <strong>清理成功！</strong> 数据库表已被清理，现在您可以重新创建表结构。
                            <?php else: ?>
                                <strong>清理失败！</strong> 请检查错误信息并手动解决问题。
                            <?php endif; ?>
                        </div>
                        
                        <div class="alert alert-warning">
                            <strong>注意：</strong> 此操作已经删除了所有已存在的表和数据。如果您有重要数据，请确保已备份。
                        </div>
                        
                        <div class="mt-4">
                            <a href="setup_tables.php" class="btn btn-primary">创建数据表</a>
                            <a href="test_login.php" class="btn btn-secondary">登录诊断</a>
                            <a href="add_test_data.php" class="btn btn-success">添加测试数据</a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</body>
</html> 